-- @owner: opentestcase007
-- @date: 2020/10/15
-- @testpoint: opengauss关键字on(保留)，作为函数名，部分测试点合理报错
-- @modified by: opentestcase007 at 2022/09/15,报错信息发生变化，优化用例期望
-- @modified by: wang-tianjing1 at 2025/02/21,报错信息发生变化，优化用例

--step1:openGauss保留关键字on作为函数名不带引号; expect:合理报错
drop function if exists on(i integer);
create function on(i integer)
returns integer
as $$
begin
    return i+1;
end;
$$ language plpgsql;
/

--step2:openGauss保留关键字on作为函数名带双引号; expect:成功
drop function if exists  "on"(i integer);
create function "on"(i integer)
returns integer
as $$
begin
    return i+1;
end;
$$ language plpgsql;
/

--step3:清理环境; expect:成功
drop function if exists  "on"(i integer);

--step4:openGauss保留关键字on作为函数名带单引号; expect:合理报错
drop function if exists 'on';
create function 'on'(i integer)
returns integer
as $$
begin
    return i+1;
end;
$$ language plpgsql;
/

--step5:openGauss保留关键字on作为函数名带反引号; expect:合理报错
drop function if exists `on`;
create function `on`(i integer)
returns integer
as $$
begin
    return i+1;
end;
$$ language plpgsql;
/